/*
 * @Author: Simon 1958058172@qq.com
 * @Date: 2025-08-14 09:23:32
 * @LastEditors: Simon 1958058172@qq.com
 * @LastEditTime: 2025-08-14 10:18:24
 * @FilePath: \java.1212\csdn\jihe\li11\Test.java
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
package csdn.jihe.li11;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class Test {
    public static  void main(String[] args) {
        //创建一个HashMap集合
        Map<Integer,String> map=new HashMap<>();
        //添加元素---给指定的key赋value值
        map.put(0, "hello");
        map.put(1, "hello");
        map.put(0, "hello1");//hello1会将hello覆盖----键Key值唯一的体现
        System.out.println(map.size());
        System.out.println(map);
        //使用map.put时，需要先判断
       
        int key=0;
        if(!map.containsKey(key)){
            map.put(key, "newValue");
        }

        //通过key查询value
        System.out.println("0:"+map.get(0));
        System.out.println("1:"+map.get(1));
        System.out.println("2:"+map.get(2));//没有---null

        //删除
        map.remove(0);
        System.out.println(map.remove(1));//返回被删除的值---hello
        System.out.println(map.remove(2));//null


        //-----------------------------
        map.put(0, "123");
        map.put(1, "456");
        map.put(2, "789");

        //------------------------------

        //遍历 方法1
        Set<Integer> set=map.keySet();
        System.out.println(set);
        for(Integer i:set){
            System.out.println(map.get(i));
        }

        //遍历 方法2
        Collection<String> coll=map.values();
        for(String s:coll){
            System.out.println(s);
        }

        //遍历 方法3---entrySet--返回Set对象：Set<Map.Entry<K,V>>,内部包含了集合中所有的键值对---包含：多个Entry类型的对象
        //Set<Map.Entry<K,V>> entrySet;
        Set<Map.Entry<Integer,String>> entries=map.entrySet();
        System.out.println(entries);
        for(Entry<Integer,String>entry:entries){
            System.out.println(entry.getKey());
            System.out.print("---"+entry.getValue());
            System.out.println();
            //遍历的时候可以修改值
            entry.setValue("456");
            
        }
        







    }


}
